plugins {
    id 'java'
    id 'org.springframework.boot' version '3.2.0'
    id 'io.spring.dependency-management' version '1.1.4'
}

java {
    sourceCompatibility = '17'
}

configurations {
    compileOnly {
        extendsFrom annotationProcessor
    }
}

repositories {
    mavenCentral()
}

group = 'ru.veselov'
version = '2.0.0'
description = 'CompanyBot'

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.boot:spring-boot-starter-validation'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-cache'
    implementation 'com.github.ben-manes.caffeine:caffeine:3.1.8'
    implementation 'org.liquibase:liquibase-core'
    implementation 'com.vladmihalcea:hibernate-types-60:2.21.1'
    implementation 'org.mapstruct:mapstruct:1.5.5.Final'
    implementation 'com.vdurmont:emoji-java:5.1.1'
    implementation 'org.telegram:telegrambots:6.8.0'
    implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.3.0'


    compileOnly 'org.projectlombok:lombok'
    runtimeOnly 'org.postgresql:postgresql'

    annotationProcessor 'org.projectlombok:lombok'
    annotationProcessor 'org.mapstruct:mapstruct-processor:1.5.5.Final'

    testAnnotationProcessor 'org.projectlombok:lombok'
    testImplementation 'org.projectlombok:lombok:1.18.28'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    testImplementation 'org.springframework.boot:spring-boot-testcontainers'
    testImplementation 'org.testcontainers:junit-jupiter:1.18.3'
    testImplementation 'org.testcontainers:postgresql:1.18.3'
    testImplementation 'net.datafaker:datafaker:2.0.2'
    testImplementation 'org.awaitility:awaitility:4.2.0'
}

tasks.named('test') {
    useJUnitPlatform()
}